package com.cazor.dg.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cazor.dg.domain.DgHisDataReqList;
import com.cazor.dg.domain.DgHisDataSensor;
import com.cazor.dg.domain.DgParamDataSensor;

/**
 * 历史数据上传传感器完成列Service接口
 * 
 * @author ruoyi
 * @date 2024-01-16
 */
public interface IDgHisDataSensorService extends IService<DgHisDataSensor>
{
    /**
     * 查询历史数据上传传感器完成列
     * 
     * @param id 历史数据上传传感器完成列主键
     * @return 历史数据上传传感器完成列
     */
    public DgHisDataSensor selectDgHisDataSensorById(Long id);

    /**
     * 查询历史数据上传传感器完成列列表
     * 
     * @param dgHisDataSensor 历史数据上传传感器完成列
     * @return 历史数据上传传感器完成列集合
     */
    public List<DgHisDataSensor> selectDgHisDataSensorList(DgHisDataSensor dgHisDataSensor);

    /**
     * 新增历史数据上传传感器完成列
     * 
     * @param dgHisDataSensor 历史数据上传传感器完成列
     * @return 结果
     */
    public int insertDgHisDataSensor(DgHisDataSensor dgHisDataSensor);

    /**
     * 修改历史数据上传传感器完成列
     * 
     * @param dgHisDataSensor 历史数据上传传感器完成列
     * @return 结果
     */
    public int updateDgHisDataSensor(DgHisDataSensor dgHisDataSensor);

    /**
     * 批量删除历史数据上传传感器完成列
     * 
     * @param ids 需要删除的历史数据上传传感器完成列主键集合
     * @return 结果
     */
    public int deleteDgHisDataSensorByIds(Long[] ids);

    /**
     * 删除历史数据上传传感器完成列信息
     * 
     * @param id 历史数据上传传感器完成列主键
     * @return 结果
     */
    public int deleteDgHisDataSensorById(Long id);


    /**
     * 批量 提交某个传感器历史数据到山东数据中心后 记录完成以及失败的请求内容
     * @param paramDataSensor
     * @param dataCount
     * @param successCount
     * @param dgHisDataReqList
     */
    public void saveRecords4Failed(DgParamDataSensor paramDataSensor, int dataCount, int successCount
            , List<DgHisDataReqList> dgHisDataReqList);
}
